package ModelLayer;

import java.util.ArrayList;

/**
 * 
 * @author DM79 group 5
 * @version 2012.13.12
 */

public class PartialAssignment {
	//instance variables
	private String idPartialAssignment;
	private String nameAssignment;
	private double area;
	private double hourExpected;
	private double hourSpent;
	private String note;
	private double priceAssignment;

    //association to Offer
    private Offer offer;

    //association to Employee
    private Employee employee;

    //association to Customer
    private Customer customer;

    //association to Material
    private ArrayList<Material> materialList;

	//constructors
    public PartialAssignment(){}
    
    public PartialAssignment(String idPartialAssignment)
    {
    	this.idPartialAssignment = idPartialAssignment;
    }

	public PartialAssignment(Offer offer, Employee employee, Customer customer) {
        this.offer = offer;
        this.employee = employee;
        this.customer = customer;
        materialList = new ArrayList<Material>();
	}
	
	public PartialAssignment(String idPartialAssignment, Offer offer, Employee employee, Customer customer) {
		this.idPartialAssignment = idPartialAssignment;
        this.offer = offer;
        this.employee = employee;
        this.customer = customer;
        materialList = new ArrayList<Material>();
	}
	
	public PartialAssignment(String idPartialAssignment,String nameAssignment,double area,
		int hourExpected,int hourSpent,String note,double priceAssignment, Offer offer, Employee employee, Customer customer) {
		this.idPartialAssignment = idPartialAssignment;
		this.nameAssignment = nameAssignment;
		this.area = area;
		this.hourExpected = hourExpected;
		this.hourSpent = hourSpent;
		this.note = note;
		this.priceAssignment = priceAssignment;
        this.offer = offer;
        this.employee = employee;
        this.customer = customer;
        materialList = new ArrayList<Material>();
	}

	/**
	 * @return the idPartialAssignment
	 */
	public String getIdPartialAssignment() {
		return idPartialAssignment;
	}

	/**
	 * @return the nameAssignment
	 */
	public String getNameAssignment() {
		return nameAssignment;
	}

	/**
	 * @return the area
	 */
	public double getArea() {
		return area;
	}

	/**
	 * @return the hourExpected
	 */
	public double getHourExpected() {
		return hourExpected;
	}

	/**
	 * @return the hourSpent
	 */
	public double getHourSpent() {
		return hourSpent;
	}

	/**
	 * @return the note
	 */
	public String getNote() {
		return note;
	}

	/**
	 * @return the priceAssignment
	 */
	public double getPriceAssignment() {
		return priceAssignment;
	}

	/**
	 * @return the object Offer
	 */
    public Offer getOffer() {
        return offer;
    }

    /**
	 * @return the ArrayList over objects Material
	 */
    public ArrayList<Material> getMaterialList() {
        return materialList;
    }

    /**
	 * @return the object Employee
	 */
    public Employee getEmployee() {
        return employee;
    }

    /**
	 * @return the object Customer
	 */
    public Customer getCustomer() {
        return customer;
    }

	/**
	 * @param idPartialAssignment the idPartialAssignment to set
	 */
	public void setIdPartialAssignment(String idPartialAssignment) {
		this.idPartialAssignment = idPartialAssignment;
	}

	/**
	 * @param nameAssignment the nameAssignment to set
	 */
	public void setNameAssignment(String nameAssignment) {
		this.nameAssignment = nameAssignment;
	}

	/**
	 * @param area the area to set
	 */
	public void setArea(double area) {
		this.area = area;
	}

	/**
	 * @param hourExpected the hourExpected to set
	 */
	public void setHourExpected(int hourExpected) {
		this.hourExpected = hourExpected;
	}

	/**
	 * @param hourSpent the hourSpent to set
	 */
	public void setHourSpent(int hourSpent) {
		this.hourSpent = hourSpent;
	}

	/**
	 * @param note the note to set
	 */
	public void setNote(String note) {
		this.note = note;
	}

	/**
	 * @param priceAssignment the priceAssignment to set
	 */
	public void setPriceAssignment(double priceAssignment) {
		this.priceAssignment = priceAssignment;
	}

	/**
	 * @param offer the offer to set
	 */
    public void setOffer(Offer offer) {
        this.offer = offer;
    }

	/**
	 * @param materialList the materialList to set
	 */
    public void setMaterialList(ArrayList<Material> materialList) {
        this.materialList = materialList;
    }

	/**
	 * @param employee the employee to set
	 */
    public void setEmployee(Employee employee) {
        this.employee = employee;
    }

	/**
	 * @param customer the customer to set
	 */
    public void setCustomer(Customer customer) {
        this.customer = customer;
    }
}
